
//import {e, c, i, ch, set角色} from "./event";

const e = require("./eventX").e;
const c = require("./eventX").c;
const i = require("./eventX").i;
const ch = require("./eventX").ch;
const set角色 = require("./eventX").set角色;
const set道具 = require("./eventX").set道具;
const set图标 = require("./eventX").set图标;

var test = true;

var g = {
过关:4,
救出蒂塔:104,
救出莉提亚:105,
选择A路线:106,
};

set图标.设置图标(2,"test.png");     //测试图标显示，"钢剑"

var new_item = 0xc0;

var a阿尔法 =   set角色.设置角色(2,"阿尔法")
var a蒂塔 =     set角色.设置角色(3,"蒂塔")
var a伊丝卡 =   set角色.设置角色(1,"伊丝卡");
var a莉提亚 =   set角色.设置角色(5,"莉提亚");
var a塞德   =   set角色.设置角色(ch.奥尔森_狂,"塞德");
var a传送石 =   set道具.设置道具(new_item++,"传送石");
var a伊斯塔尔 =   set角色.设置角色(0x80,"伊斯塔尔",`
存在了几百年了的剑
拥有不为人知的过去。
`);


a阿尔法.扩展.设置角色动画({
    a剑:207+1,
    a斧:206+1,
    a没有武器:209+1,
    a武器:[
        0x28,208+1,
        0x29,208+1,
        0x2c,208+1,
    ],
});
a伊斯塔尔.扩展.设置角色动画({
    a剑:210+1,
    a没有武器:211+1,
    a武器:[
        0xc1,212+1
    ],
});

var i伊斯塔尔 = set道具.设置道具(new_item++,"伊斯塔尔","传说的剑，使用被献祭的少女做成的剑");
i伊斯塔尔.设置类型(i伊斯塔尔.类型.剑);
i伊斯塔尔.基础属性({
耐久:-1,
攻击:17,
命中:95,
重量:8,
必杀:35,
射程:0x12,
});
i伊斯塔尔.图标(0xaa);       //风之刃
i伊斯塔尔.附加能力({
    a速度:6,
    a技术:5,
});
i伊斯塔尔.扩展.可召唤(
    "伊斯塔尔",
    c.剑圣_女,
[
    i.铁剑,
    i.必杀刃,
    i.新月刃,
    "伊斯塔尔"
]);

i伊斯塔尔.扩展.限制角色(
[
    "阿尔法",
    "伊斯塔尔",
]);

i伊斯塔尔.扩展.魔法剑(0x1b);

a传送石.设置类型(a传送石.类型.道具);
a传送石.基础属性({耐久:1});
a传送石.特殊属性({道具:true});
a传送石.图标(0xc4);

a塞德.设置ID对话头像(0x44); //奥尔森_狂

a阿尔法.设置头像("alpha.png");
a蒂塔.设置头像("蒂塔.png");
a伊丝卡.设置头像("伊丝卡.png");

a阿尔法.设置小头像("alpha32x32_16.png");
a伊丝卡.设置小头像("伊丝卡32x32_16.png");
a蒂塔.设置小头像("蒂塔32x32_16.png");

a阿尔法.设置对话头像("alphaa.png");
a蒂塔.设置对话头像("蒂塔a.png");
a伊丝卡.设置对话头像("伊丝卡a.png");

a莉提亚.设置头像("ninian.png");
a莉提亚.设置对话头像("niniana.png");
a莉提亚.设置小头像("ninian32x32.png");






a阿尔法.支援人物([
    ["蒂塔",3],
    ["伊丝卡",3]
]);
a蒂塔.支援人物([
    ["阿尔法",3],
    ["伊丝卡",3]
])
a伊丝卡.支援人物([
    ["阿尔法",3],
    ["蒂塔",3]
]);

a莉提亚.基本能力({
    a力量:29,
    a技术:28,
    a速度:26,
    a魔防:30,
    a守备:13,
    a运气:18,
    a体格:6,
    a等级:18,
    aHP:38,
});

a莉提亚.武器熟练度({
    杖:"S",
    理:"S",
    光:"S",
    暗:"S",
});

a阿尔法.基本能力({
    a力量:22,
    a技术:29,
    a速度:26,
    a魔防:20,
    a守备:22,
    a运气:12,
    a体格:11,
    a等级:17,
    a魔力:0,
    aHP:57,
});
a阿尔法.成长率({
    aHP:70,
    a力量:50,
    a技术:60,
    a守备:35,
    a运气:20,
    a魔防:30,
    a速度:60
});
a阿尔法.武器熟练度({
    剑:"S",
    斧:"S",
});

a伊丝卡.基本能力({
    a力量:27,
    a技术:25,
    a速度:26,
    a魔防:30,
    a守备:15,
    a运气:27,
    a体格:7,
    a等级:15,
    aHP:45,
});

a伊丝卡.武器熟练度({
    杖:"A",
    理:"S",
    光:"A",
    暗:"A",
});

a伊丝卡.成长率({
    aHP:30,
    a力量:60,
    a技术:40,
    a守备:25,
    a运气:40,
    a魔防:60,
    a速度:60
});

a蒂塔.基本能力({
    a魔力:26,
    a力量:24,
    a技术:30,
    a速度:30,
    a魔防:28,
    a守备:17,
    a运气:23,
    a体格:8,
    a等级:17,
    aHP:48,
});

a蒂塔.武器熟练度({
    剑:"S",
    弓:"S",
});

a蒂塔.成长率({
    aHP:70,
    a力量:50,
    a技术:60,
    a守备:30,
    a运气:60,
    a魔防:50,
    a速度:60
});


e.定义事件("章节1开始");
 e.切换地图(0);
 e.背景淡出(0x10);
 e.create(0x19,[7,0]);

e.镜头移动(17,32);


if(true){
    //e.create(0x2c,[0,1,0x890819C],4); //有些事件，会查找单位，所以要把这些单位全加载了
    e.等待单位处理();


e.加载单位([
    {
    a角色:"阿尔法",
    a职业:c.勇者_男,
    a等级:18,
    a道具:[
        //i.银剑,
        "伊斯塔尔",
        "传送石",
        // i.勇者之剑,
        // i.特效药
        i.卢尼之剑,
        i.投斧
    ],
    a坐标X:16,
    a坐标Y:33,
    },

    {
    a角色:"伊丝卡",
    a职业:c.贤者_女,
    a等级:15,
    a坐标X:17,
    a坐标Y:33,
    a道具:[
        i.终末之冬,
        i.艾克斯迦利瓦,
        i.治愈之杖,
    ],
    },

    {
        a角色:"莉提亚",
        a职业:c.贤者_女,
        a敌方:true,
        a等级:19,
        a坐标X:10,
        a坐标Y:10,
        a道具:[
            i.终末之冬,
            i.艾克斯迦利瓦,
            i.传送杖
        ],
    },
    {
        a角色:"蒂塔",
        a职业:c.剑圣_女,
        a友方:true,
        a等级:18,
        a坐标X:37-1,
        a坐标Y:8-1,
        a道具:[
            i.阿德姆拉,
            i.勇者之剑,
            i.银剑,
        ],
    },

    ]);

e.create(0x28,[0,0x4]);

//在坐标[1,2] 高度[5,5] 内批量加载单位
/*
1 标识等级,
*/
e.扩展.加载范围单位([28,10,5,5],`
-12345      //'-'标识当前行不使用
  5
1 1 1
 1 1
11111
22?22
`,
(id,s,lv,x,y)=>{
    if(s=='?'){
        //随机等级
        lv = 1 + Math.random()*4;       //随机1-5级
        lv |= 0;        //整数
    }
    console.log(s,x,y);
    e.加载单位([
    {
        a友方:true,
        a坐标X:x,
        a坐标Y:y,
        a等级:lv,
        a等级修正:true,
        a角色:ch.罗斯顿兵,
        a职业:c.弓箭手_男,
        a道具:[
            i.必杀弓
        ],
    }
    ]);
}
);

e.等待单位处理();

//e.调用外部事件(0x8A611DC);


e.光标移动到角色("伊丝卡");

//e.传送("伊丝卡",6,6);

e.等待();
e.光标关闭();

//两个换行表示需要一个按键才能换行

e.对话_地图(`
[阿尔法>]
[<伊丝卡]
哥哥，我们已经来到这了。
可是，这里重兵把手

如果贸然进攻的话，
必然会失败。

…我们还是撤退吧……


[阿尔法]
伊丝卡，有些事，我必须要去做，
不然……

我会内疚一辈子


[伊丝卡]
不行！你这样会白白的去送死的。


[阿尔法]
……她们还需要我去拯救。
你还是赶紧回去吧。
战场并不合适你


[伊丝卡]
不要！
[伊丝卡@]

`);

e.移动单位("伊丝卡",19,31,0x10);
e.等待单位处理();

e.对话_地图(`
[阿尔法]
……

为什么你总是那么孩子气呢……

`);
e.等待(30);
e.对话_地图(`
[>阿尔法]
……无论前方有什么挫折，
我都必须要去把她们两个救下。

`);

e.光标移动到角色("伊丝卡");
e.对话_地图(`
[>伊丝卡]
姐姐不希望你来这里，
为什么你就不明白呢！

`);


e.加载单位([
{
    a角色:ch.利昂_魔,
    a职业:c.亡灵巫师,
    a敌方:true,
    a坐标X:6,
    a坐标Y:7,
    a道具:[
        i.格雷普尼尔,
        i.沉默之杖,
    ],
    }
]);

if(test){
e.加载单位([
    {
        a角色:ch.利昂,
        a职业:c.亡灵巫师,
        a敌方:true,
        a坐标X:20,
        a坐标Y:31,
        a道具:[
            i.格雷普尼尔,
            i.沉默之杖,
        ],
        }
]);
}

e.镜头移动(5,33);
e.加载单位([
{
    a角色:ch.奥尔森_狂,
    a职业:c.勇者_男,
    a友方:true,
    a坐标X:5,
    a坐标Y:33,
    a等级:18,
    a等级修正:1,
    a道具:[
        i.勇者之剑,
        i.勇者之斧,
        i.卢尼之剑,
    ],
}
]);

e.对话_地图(`
[>塞德]
我必须要把她杀了!

`);

//e.create(0x2c,[0,1,0x89081D8],4);
e.等待单位处理();
}

e.设置当前事件标志(7);
e.返回();
e.结束事件();

/////////////////////////////////////////////////

////////////////////////////////////////////////
e.定义单位对话事件("对话1","阿尔法","伊丝卡");
e.对话_地图(`
[阿尔法>]
[<伊丝卡]
[阿尔法]
你赶紧找个地方躲着，
这里追兵实在是太多了。

[伊丝卡]
不要！

`);

e.往右移动单位("伊丝卡");
e.往右移动单位("伊丝卡");
e.等待(0x3c);
e.结束事件();

/////////////////////////////////////////////////
e.定义单位对话事件("对话2","阿尔法","蒂塔",false,g.救出莉提亚);
e.设置标志(g.救出蒂塔);
e.对话_地图(`
[阿尔法>]
[<蒂塔]
[蒂塔]
你来了啊


[阿尔法]
是啊


[蒂塔]
我不知道现在的心情是
开心还是难过……

总感觉对不起她们


[阿尔法]
你不要太自责
就算你身上有再多的重担

我都能替你背负着


[蒂塔]
不，这样我会更加愧疚的


[阿尔法]
勉强也好，至少也要想一下
你的妹妹

你的妹妹还在等着你回去


[蒂塔]
唔……


`);
e.设置单位为友方("蒂塔");
e.结束事件();

////////////////////////////////////////////////
//对话事件3
e.定义单位对话事件("对话3","阿尔法","莉提亚",false,g.救出蒂塔);
e.对话_地图(`
[阿尔法>]
[<莉提亚]
[莉提亚]
……


[阿尔法]
我知道你承受得太多东西了。
我们还是回去吧

这个地方不适合你。

[莉提亚]
我知道……
可是我……

`);

e.设置单位为我方("莉提亚");
e.设置标志(g.救出莉提亚);
e.等待(60);
e.镜头移动到角色("塞德");
e.对话_地图(`
[塞德>]
我把你当成亲兄弟看待，
没想到，连你也背叛了我。

我必须为我的妹妹报仇！
那个女人必须死

`);
e.设置单位为敌方("塞德");
e.等待(30);

e.结束事件();

e.设置章节对话事件(0,"对话1");
e.设置章节对话事件(0,"对话2");
e.设置章节对话事件(0,"对话3");

e.定义事件("章节1结束");
e.返回();
e.结束事件();

e.设置章节结束事件(0,"章节1结束");
e.设置章节开始事件(0,"章节1开始");



var c章节1 = e.章节事件触发(0);



e.createASM();

//console.log(__dirname);
